package akbderby.service;

import java.util.ArrayList;
import java.util.List;

import org.slim3.datastore.Datastore;

import akbderby.meta.BlobstoreMeta;
import akbderby.model.Blobstore;
import akbderby.model.BlobstoreCondition;

public class InfoService extends ServiceBase {

    private BlobstoreMeta t = new BlobstoreMeta();

    public List<Blobstore> getTop5List() {
        return Datastore.query(t).sort(t.count.desc).limit(5).asList();
    }

    public List<Blobstore> getSelect(BlobstoreCondition condition) {
        List<Blobstore> returnList = new ArrayList<Blobstore>();
        if (isNull(condition.getMyName())) {
            return returnList;
        }

        // List<FilterCriterion> l = new ArrayList<FilterCriterion>();
        // if (!isNull(condition.getMyName())) {
        // l.add(t.myName.startsWith(condition.getMyName()));
        // }
        // if (!isNull(condition.getComeFrom())) {
        // l.add(t.comeFrom.startsWith(condition.getComeFrom()));
        // }
        // if (condition.getAgeFrom() != 0) {
        // l.add(t.age.greaterThanOrEqual(condition.getAgeFrom()));
        // }
        // if (condition.getAgeTo() != 0) {
        // l.add(t.age.lessThanOrEqual(condition.getAgeTo()));
        // }
        //
        // FilterCriterion[] filterCriterion = new FilterCriterion[l.size()];
        // filterCriterion = l.toArray(filterCriterion);

        // return Datastore.query(t).filter(filterCriterion).limit(5).asList();

        List<Blobstore> l = Datastore.query(t).sort(t.count.desc).asList();

        for (Blobstore data : l) {
            // if (data.getFreeWord().regionMatches(
            // 0,
            // condition.getMyName(),
            // 0,
            // condition.getMyName().length())) {
            // returnList.add(data);
            // }
            if (data.getFreeWord().indexOf(condition.getMyName()) != -1) {
                returnList.add(data);
            }
        }
        return returnList;
    }
}
